package com.ls.bpmn.dto;

import com.ls.common.Empty;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author lisheng
 * @Date 2025/05/07 01:05
 **/
@Data
public class ProcessStartDTO {
    /** 流程定义key */
    private String processDefinitionKey;

    /** 流程定义ID */
    private String processDefinitionId;

    /** 业务数据id */
    private String businessKey;

    /** 当前处理人 */
    private String userId;

    /** 是否草稿 */
    private boolean draft = false;

    /** 流程提交参数 */
    private Map<String,Object> variables = new HashMap<>();

    public void validate() throws Exception{
        if(Empty.isEmpty(processDefinitionKey) && Empty.isEmpty(processDefinitionId)){
            throw new Exception("抱歉，流程启动需指定流程定义id或流程定义key！");
        }

        if(Empty.isEmpty(userId)){
            throw new Exception("抱歉，当前处理人不能为空！");
        }
    }
}
